Digital position control device for apparatus such as machine-tools having a rotatable member

ABSTRACT

A numerical control device for machine-tool operation in which a tool or workpiece, or both, must be both translated linearally and rotated. The two motions are correlated as necessary, for instance, to cut a screw thread.

United States Patent 1 1 3,595,106

[72] lnventors PieroPomella;

51 1111.0 B23h 3/00, Luciano Lauro, both of lvrea, Turin, Italy 323]) 1/00 1 pp 760,012 501 Field at Search 82/5; 1 Filed SQPLI6J968 10/101,105;235/1s1.11 [45] Patented July 27, I971 [73] Assignee lng C. Olive 8: C., S.p.A. [56] Ref r n Cited My UNITED STATES PATENTS 2"; 1967 3,174,367 3/1965 Luckens 82/5 [3]] 0444/67 3,381,557 5/1968 Dunn 82/5 Primary ExaminerHarrison L. I-linson Attorney-Birch, Swindler, McKie & Beckett [54] DIGITAL POSITION CONTROL DEVICE FOR APPARATUS SUCH AS MACHINE-TOOLS HAVING A ROTATABLE MEMBER 6 Claims, 3 Drawing Figs.

ABSTRACT: A numerical control device for machine-tool operation in which a tool or workpiece, or both, must be both [52] US. Cl 1 8 2/1, translated linearally and rotated. The two motions are corre- 8 2/5, 10/101, 10/105 lated as necessary, for instance, to cut a screw thread.

gggfwg" yuan/wees summ; I'EQNSFORMER cn=cn-1+An sinc osc 91- /A c 2 con. 5 8

zn=zn-1+Az err.z INTERPOL- LINEAR POSITION /1 MEASURING cow: 7 TRANSFORMER PROGRAM UNIT DIGITAL POSITION CONTROL DEVICE FOR APPARATUS SUCH AS MACHINE-TOOLS HAVING A ROTATABLE MEMBER GENERAL DESCRIPTION The present invention relates to a digital control device for positioning a movable member of a machine-tool or a similar equipment provided with a rotary axis, comprising an interpolating unit.

The interpolating unit whereto reference is made is the one described in our patent application Ser. No. 575,802,filed Aug. 19,1966, now U.S. Pat. No. 3,518,513.

According to the said parent application the digital control device for continuously positioning, along one or more axes, a movable member of a machine-tool or a similar equipment, fed by a program unit operable to supply discontinuous position orders, comprises an interpolating unit operating by means of the accumulation of position increments in successive interpolation cycles, said unit feeding for each of said axes a distinct servosystem operable to execute said positioning operation, and the amount of the increment accumulated in each interpolation cycle being variable in order to control the speed and the acceleration of said movable member along its path.

Said device operates as a computer for computing in a continuous way the points of a path approximated by means of a broken line made up of any number of rectilinear segments. This computer therefore defines an interpolation unit which, fed by a discrete number of geometrical and technological data recorded for instance on a perforated paper tape, supplies continuously the data for the positions related to all intermediate points comprised along the path which connects all discrete points of the program.

The device described in the above-mentioned patent application is operable to control also very complex mechanisms,

which require the simultaneous and coordinatemovement of the movable member of the machine along'a plurality of axes, while the necessary programming is simple, since it is necessary to program only the coordinates of the successive discrete points along the path and a predetermined value corresponding to the highest moving speed admitted along each rectilinear segment connecting two subsequent discrete points.

In the device according to the above-mentioned patent application the interpolating unit is provided with a cyclic memory comprising a plurality of recirculating registers, the duration of the cycle of said memory being a submultiple of the duration of each interpolation cycle, whereby each interpolation cycle comprises at least two memory cycles, in the first of which logical operations of comparison are executed for deciding the acceleration changes, while in the second memory cycle upon the results of said comparison operations the computation of the position increment related to said interpolation cycle is carried out.

The present invention permits the use of the device according to the abovementioned patent application for the control of a machine-tool or a similar equipment provided with a rotary axis, as for instance a lathe. Therefore the device according to the present invention allows the contnol of the positioning of the movable member of said machine along two or more axes, one of which is a rotary one.

More particularly, the device according to the invention is able to control continuously the digital position of a movable member of a machine along one or more linear axes and a rotary axis iiand is fed by a program unit adapted to supply discontinuous position orders. The device comprises an interpolating unitoperating by means of the accumulation of position increments in successive interpolation cycles, said unit feeding for each of said linear axes a distinct servosystem able to carry out said positioning operation. The device is characterized in that said discontinuous position orders comprise the extreme coordinates of the path segments to be travelled along said linear axes, the displacement increments along said linear axes for each revolution of the movable member around said rotary axis, and the rotation speed of said movable member around said rotary axis, and in that the increment accumulated by said interpolating unit for each of the displacement axes during a single revolution of said movable member is equal to the corresponding programmed displacement increments.

DETAILED DESCRIPTION This and other characteristics of the invention will become apparent from the following description of a preferred embodiment made by way of example and not in a limiting sense, with reference to the accompanying drawings wherein:

FIG. 1 represents a diagram of the control device according to the invention;

FIG. 2 represents a speed diagram referred to the device of FIG. 1;

FIG. 3 represents the arrangement of the control thresholds comprised in the device of FIG. 1.

The device according to the invention may be used as a position control device for lathes, for instance for the production or the inspection of threads. Therefore, the description that follows will be made in connection with this particular embodiment of the device according to the invention.

X and Y are assumed to indicate the linear displacement axes of the movable member (for instance the tool) of a lathe; C is assumed to indicate the rotary axis of the spindle which drives in rotational motion the workpiece to be worked or to be inspected. The Z axis is the displacement axis parallel to the rotary axis C.

Mounted on the axis C of the spindle is a rotary position measuring transformer 1 (FIG. I to which are fed the signals sin c, cos c, 0 being the rotary coordinate along the axis C. Mounted on the tool linear displacement axis Z is a linear position measuring transformer 2, to which are fed signals sin z, cos z, z being the coordinate along the axis Z. The piece 3 to be worked, for instance to be threaded, is secured to the spindle of the machine-tool so that it is able to rotate around the axis C. Also the rotary position measuring transformer l is secured to the spindle of the machine-tool so that it rotates with the same speed.

An interpolating unit 4, analogous to the one described in the cited patent application, is fed by a program unit 5, and is adapted to supply digital position orders to digital-to-analog converters 6, 7 for the axis C and for the axis Z respectively.

If the computation of the position 0 proceeds in the interpolation unit in exact synchronism with the rotary movement of the spindle, an error signal err c, which is always null, is present at the output of the rotary position measuring transformer I feeding said interpolating unit 4.

Therefore, in order that the tool 8 may follow a screw on the piece 3 it is necessary to maintain the synchronism of the computation of c with the rotational movement and to operate in such a way that the ratio between the increments given to c along the axis C and to 1 along the axis Z is equal to the programmed pitch of said screw.

For executing a thread cut on the piece 3 it is necessary that the program unit supply the following data:

l. auxiliary function of thread indicated by AUG;

2. length of the thread in coordinates, indicated by means of the address Z followed by the sign and by seven binary digits;

3. pitch of the thread, indicated by the address K followed by five binary digits;

4. auxiliary function of rotation for the spindle indicated by AUM;

5. speed of rotation for the spindle, indicated by the address S followed by two binary digits.

If the thread to be worked is conical it will be necessary to specify in the program also the length of the thread along the transverse axis X and the tranevpreaan.

In order that during each interpolating cycle the ratio between the increments of movement along the axis Z and the increments of movement along the axis C may be constant and equal to the pitch kof the thread, that is with reference to the nth interpolation cycle the magnitude k/232 mm. corresponding to the minimum speed increment along the axis 2 is directly entered into a first which defines an acceleration equal to 40 t.p.s. to the computation of c, as ms. is the duration of an interpolating cycle.

As all increments given to c and to z are always multiples in the same ratio of the corresponding minimum increments, the requested ratio (1 between Am and Azn is always maintained.

The error signal supplied by the position measuring transformer l is fed to error thresholds, the outputs of which will supply logical signals when a. the error is higher than l/l000)oftum;

b. the error is higher than l/l000) ofturn;

c. the error is higher than +(4/ 1000) of turn;

d. the error is higher than (4/ i000) of turn; where the sign or indicates that the spindle is out of phase in a positive or negative sense respectively with respect to the order supplied by the interpolation unit.

At the beginning cn=0. When the spindle crosses the position 0, that is when its condition changes from a negative error to a positive error, the computation of the coordinate 0 begins.

The computations carried out on Acn are also carried out on Am, so as to have always =k though at the beginning the computation of zn+1=zn+Azn is blocked, whereby during the synchronizing operations no displacement occurs along the longitudinal axis 2.

The computation proceeds in a nonnal way, that is with a constant acceleration, i.e. with A m and A zn constant, while the spindle is already in rotation at constant speed V as specified by the program. In this manner when Acn referred to an interpolating cycle becomes equal to the spindle speed, the position shown by cn does not correspond to the spindle position.

Therefore, in the first synchronimtion phase the magnitude cn+2Acn==2 an is sent from the interpolating unit4 to the converter 6, so that the following condition is realized (FIG. 2): at the time Tn the speed achieved by the computation is Vn, the space indicated by the computation of an is equal to the area of the triangle OBTn, while cn-l-ZAcFarea OTnBVn, and the space traveled by the spindle =area OTnCV The error is positive, because the spindle is advanced with respect to the computation.

When at the instant Ts the speed reached by the computation as equal to V; the space covered by the spindle is equal to the magnitude cn-l-ZAcn fed to the converter, that is the error crosses again the zero (from positive to negative). At this moment the magnitude cn+213cn is sent to the register of en. The spindle and the computation are therefore synchronized as to speed and position, and then the speed represented by Acn referred to an interpolating cycle will be controlled by the error thresholds;

at if the error on the output err c of the position measuring transformer 1 becomes higherthan t/( l/ I000) turn, i.e. equal to Me, the computation speed is changed in the interpolating unit as follows: 1

Ac new=Ac old :L'Ac; if the error remains higher than l/l000) turn c(n+l )=cn+Ac new MIC;

b. if the error is higher than :(4/1000) turn, i.e. equal to 4A c, the computation speed is changed in the interpolating unit 4 as follows:

Ac new=Ac old :4A c; if the error remains higher than (4/1000) turn c(n+ l)=cn+Acnew+4A c.

When the computation crosses again the position 0 the order to start is given for the coordinate z, that is the computation of zn+l=zn+Azn starts and also the threading begins.

As an uncertainty equal to Acn exists in the crossing of 0 of the computation for the spindle, the register of en is reset to zero when the start order is given to z.

Let zl and 12 represent the coordinates of the beginning and the end respectively of the thread.

The first operation after the starting of z will therefore be 0+Acn=c(rrl-l so that also in the successive cuts the threads are always obtained with the same phase.,

When the distance from zn to 22 is lower than 250uum. the end order is given, and the interpolation unit resumes the normal operation. If a further cut is to be made a return to 1 is programmed and then the thread function AUG is again programmed.

If the thread is conical the thread length and the transverse pitch 1' should be programmed also for the axis X. In this case the operation is analogous to the described one: the computations executed for z are repeated for x. I

The described system operates provided that during the synchronization phase the highest error is always lower than half pitch of the rotary position measuring transformer. The maximum error occurs for t=Ts/2 (Ts synchronization time).

During the acceleration phase spent in synchronizing the computation speed with the spindle speed, the computation acceleration is 4A c=l60 t.p.s. Therefore, the maximum possible speed for the spindle should be In order to allow the synchronization also with higher speeds, when the error is higherthan +(l50/ 1000) turn, the value 1000) turn is added to en.

Said value may be added seven times, which are counted by a counter. When the error becomes again negative such value is subtracted and the counter jumps backwards.

The order for the end of the synchronization is given when the error becomes negative, the counter being on zero. In this way the value which may be added to the maximum error is 7-( l25/l000) turn=(875/1000) turn In this case the maximum possible speed for the spindle is: V /a=='rH-(875/1000); V =885 t.p.m.

At such speed the increment is Ac=(75/1000), and therefore it is still adapted to allow sufficient controls within the pitch of the thread so that the different errors may be discriminated.

It will be evident that many minor changes may be made in the disclosed embodiment of the invention without departure from the scope thereof. Accordingly, the invention is not to be considered limited to the disclosed embodiment, but rather only by the scope of the appended claims.

What we claim is:

1. A digital control device for positioning a movable member on an equipment, such as a machine tool, along at least one linear axis and around a rotary axis having an interpolating means for computing increments of position coordinates representing the displacement along the linear axes and around the rotary axis insuccessive cycles of operation and for supplying information to several mechanisms on each said linear axis causing said servomechanisms to carry out a positioning operation, comprising,

program means for communicating signals to said interpolating means corresponding to the discontinuous position orders, said discontinuous position orders comprising extreme coordinates of the path segment to be traveled along each said linear axis, displacement increments along each said linear axis for each revolution of the movable member around said rotary axis and a constant rotational speed of said movable member around said rotary axis, I

rotary position measuring means for comparing the present position of said movable member relative to said rotary axis with a position computed by said interpolating means, said interpolating means being coupled to an input of said position measuring means so as to communicate thereto a signal corresponding to said computer position, said position measuring means supplying an output error signal corresponding to the error between said compared positions, and

means coupling said output error signal to said interpolating means for controlling the computing operation thereof in a manner such that the amount of displacement increment of said movable member computed in each interpolating cycle for each of said linear axes per revolution around the rotary axis equals the corresponding programmed displacement increment.

2. A digital control device according to claim 1, wherein the programmed displacement increment is furnished by the program unit to the memory of the interpolating unit as a minimum displacement increment for a given minimum rotary increment per interpolating cycle and wherein the interpolating unit is arranged in a synchronizing phase, during which the said computed displacement for each linear axis is not incremented, to multiply the said minimum increments by the same amounts until the multiplied minimum rotary increment reaches a predetermined value, and then to accumulate rotary position increments increasing by an amount equal to said predetermined value in each interpolating cycle until the rotary displacement increment computed in each interpolating cycle corresponds to the actual programmed speed of rotation of the member rotating about the rotary axis and the double of the rotary displacement computed for the rotary coordinate is equal to the rotary displacement actually covered by said rotating member, and wherein the interpolating unit is thereafter arranged to increment the computed displacement one for each said linear axis by the corresponding value attained by the displacement increment per interpolating cycle.

3. Digital position control device according to claim 1, including means providing thresholds for the error fed by the output of the rotary position measuring transformer, said interpolating means being operable upon the error exceeding one of said thresholds to modify the amount of the position increment accumulated in each interpolation cycle in order to follow the speed of said movable member about said rotary axis.

4. Digital control device according to claim 3 in which said threshold means provides at least one positive and at least one negative threshold indicating the direction and the amount of the error of the computed rotary position with respect to the proper rotational position of the movable member.

5. The method of continuously positioning a movable member of equipment, such as a machine tool, along at least one linear axis and around a rotary axis, comprising the steps of:

providing a program containing discontinuous position orders for said movable member, said discontinuous position orders including the extreme coordinates of path segments to be traveled along each said linear axis, the displacement increments along each said linear axis for each rotation of the movable member about said rotary axis, and the constant rotational speed of said movable member about said rotary axis,

rotating said movable member around said rotary axis at a constant rotational speed, interpolating on the bases of said program in successive interpolation cycles to compute displacement increments for each of said linear axes such as to maintain said linear axes in synchronism with the constant rotational speed and the rotary displacement of said rotary member, and

moving said member along each of the said linear axes in accordance with the linear displacement increments computed during the interpolating step conjointly with the said rotary position increments.

6. The method defined in claim 5 wherein said interpolating step is accomplished in such a manner as to compute an increment for each linear axis during a single revolution of said member which is equal to the corresponding displacement increment provided by said program. 

1. A digital control device for positioning a movable member on an equipment, such as a machine tool, along at least one linear axis and around a rotary axis having an interpolating means for computing increments of position coordinates representing the displacement along the linear axes and around the rotary axis in successive cycles of operation and for supplying information to several mechanisms on each said linear axis causing said servomechanisms to carry out a positioning operation, comprising, program means for communicating signals to said interpolating means corresponding to the discontinuous position orders, said discontinuous position orders comprising extreme coordinates of the path segment to be traveled along each said linear axis, displacement increments along each said linear axis for each revolution of the movable member around said rotary axis and a constant rotational speed of said movable member around said rotary axis, rotary position measuring means for comparing the present position of said movable member relative to said rotary axis with a position computed by said interpolating means, said interpolating means being coupled to an input of said position measuring means so as to communicate thereto a signal corresponding to said computer position, said position measuring means supplying an output error signal corresponding to the error between said compared positions, and means coupling said output error signal to said interpolating means for controlling the computing operation thereof in a manner such that the amount of displacement increment of said movable member computed in each interpolating cycle for each of said linear axes per revolution around the rotary axis equals the corresponding programmed displacement increment.
 2. A digital control device according to claim 1, wherein the programmed displacement increment is furnished by the program unit to the memory of the interpolating unit as a minimum displacement increment for a given minimum rotary increment per interpolating cycle and wherein the interpolating unit is arranged in a synchronizing phase, during which the said computed displacement for each linear axis is not incremented, to multiply the said minimum increments by the same amounts until the multiplied minimum rotary increment reaches a predetermined value, and then to accumulate rotary position increments increasing by an amount equal to said predetermined value in each interpolating cycle until the rotary displacement increment computed in each interpolating cycle corresponds to the actual programmed speed of rotation of the member rotating about the rotary axis and the double of the rotary displacement computed for the rotary coordinate is equal to the rotary displacement actually covered by said rotating member, and wherein the interpolating unit is thereafter arranged to increment the computed displacement for each said linear axis by the corresponding value attained by the displacement increment per interpolating cycle.
 3. Digital positIon control device according to claim 1, including means providing thresholds for the error fed by the output of the rotary position measuring transformer, said interpolating means being operable upon the error exceeding one of said thresholds to modify the amount of the position increment accumulated in each interpolation cycle in order to follow the speed of said movable member about said rotary axis.
 4. Digital control device according to claim 3 in which said threshold means provides at least one positive and at least one negative threshold indicating the direction and the amount of the error of the computed rotary position with respect to the proper rotational position of the movable member.
 5. The method of continuously positioning a movable member of equipment, such as a machine tool, along at least one linear axis and around a rotary axis, comprising the steps of: providing a program containing discontinuous position orders for said movable member, said discontinuous position orders including the extreme coordinates of path segments to be traveled along each said linear axis, the displacement increments along each said linear axis for each rotation of the movable member about said rotary axis, and the constant rotational speed of said movable member about said rotary axis, rotating said movable member around said rotary axis at a constant rotational speed, interpolating on the bases of said program in successive interpolation cycles to compute displacement increments for each of said linear axes such as to maintain said linear axes in synchronism with the constant rotational speed and the rotary displacement of said rotary member, and moving said member along each of the said linear axes in accordance with the linear displacement increments computed during the interpolating step conjointly with the said rotary position increments.
 6. The method defined in claim 5 wherein said interpolating step is accomplished in such a manner as to compute an increment for each linear axis during a single revolution of said member which is equal to the corresponding displacement increment provided by said program. 